﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using RFIDStockManagement.Model.Public;
using RFIDStockManagement.Common.Public.Enums;

namespace IOReadWriter
{
    //public class RfidReader
    //{
    //    private Thread m_ReaderThread = null;
    //    private bool m_Run = false;
    //    private EnumIOStockOperate m_EnumIOStockOperate = EnumIOStockOperate.InStock;

    //    public RfidReader(EnumIOStockOperate enmOperate)
    //    {
    //        m_EnumIOStockOperate = enmOperate;
    //    }

    //    public void StartRead()
    //    {
    //        if (m_Run == false)
    //        {
    //            m_Run = true;
    //            m_ReaderThread = new Thread(new ThreadStart(DoWork));
    //            m_ReaderThread.Start();
    //        }
    //    }

    //    public void StopRead()
    //    {
    //        m_Run = false;
    //        if (m_ReaderThread != null)
    //        {
    //            m_ReaderThread.Abort();
    //        }
    //    }

    //    private void DoWork()
    //    {
    //        int iCount = 25;
    //        int i = 0;
    //        while (m_Run)
    //        {
    //            try
    //            {
    //                if (i < iCount)
    //                {
    //                    //List<RfidDataInfo> lstRfidDataInfo = new List<RfidDataInfo>();
    //                    //RfidDataInfo info = new RfidDataInfo()
    //                    //{
    //                    //    Rfid = string.Format("{0}|{1}", i % 2 == 0 ? "1000" : "1001", Guid.NewGuid().ToString().Replace("-", ""))
    //                    //};
    //                    //lstRfidDataInfo.Add(info);
    //                    //i++;
    //                    ////Console.WriteLine(string.Format("Reader:{0}", info.Rfid));
    //                    //RfidCacheManager.WriteRfidDataInfo(lstRfidDataInfo, m_EnumIOStockOperate);
    //                    //Thread.Sleep(100);
    //                }
    //            }
    //            catch (Exception ex)
    //            { }
    //        }
    //    }

    //    ///// <summary>
    //    ///// 从硬件读取tag
    //    ///// </summary>
    //    ///// <param name="readerURI">eapi:///com1
    //    ///// eapi:///dev/ttyUSB0</param>
    //    //private void ReadFromHardware(string readerURI)
    //    //{
    //    //    Reader reader = null;
    //    //    try
    //    //    {
    //    //        reader = Reader.Create(readerURI);
    //    //        reader.Connect();
    //    //        if (Reader.Region.UNSPEC.Equals(reader.ParamGet("/reader/region/id")))
    //    //        {
    //    //            reader.ParamSet("/reader/region/id", Reader.Region.PRC);
    //    //        }
    //    //        int millis = 5000;
    //    //        TagReadData[] reads = reader.Read(millis);


    //    //        //reader.TagRead += PrintTagReadHandler;
    //    //        //reader.ReadException += ReadExceptionHandler;
    //    //        //reader.StartReading();

    //    //        //reader.StopReading();
    //    //        //reader.TagRead -= PrintTagReadHandler;
    //    //        //reader.ReadException -= ReadExceptionHandler;
    //    //    }
    //    //    finally
    //    //    {
    //    //        if (reader != null)
    //    //        {
    //    //            reader.Destroy();
    //    //        }
    //    //    }



    //    //}
    //}
}
